<?php

namespace Secret\Entities;

use Doctrine\ORM\Mapping as ORM;
use Doctrine\Common\Collections\ArrayCollection;

/**
 * @ORM\Entity
 * @ORM\Table(name="base_models")
 */
class Model {
	/**
	 * @ORM\Column(type="integer")
	 * @ORM\Id
	 * @ORM\GeneratedValue(strategy="AUTO")
	 */
	protected $id;
	
	/**
	 * @ORM\Column(type="string", length=64)
	 */
	protected $name;
	
	/**
	 * @ORM\Column(type="integer")
	 */
	protected $rank;
	
	/**
	 * @ORM\Column(type="string", length=64)
	 */
	protected $defaultSortBy;
	
	/**
	 * @ORM\Column(type="string", length=64)
	 */
	protected $idField;
	
	/**
	 * @ORM\Column(type="integer")
	 */
	protected $numPerPage;
	
	/**
	 * @ORM\Column(type="integer")
	 */
	protected $visible;
	
	/**
	 * @ORM\Column(type="integer")
	 */
	protected $resortable;

	/**
	 * @ORM\Column(type="text")
	 */
	protected $columnsJson;
	
	/**
	 * @ORM\Column(type="integer")
	 */
	protected $type;
	
	/**
	 * @ORM\Column(type="integer")
	 */
	protected $permission;
	
	/**
	 * @ORM\Column(type="integer")
	 */
	protected $ownList;
	
	/**
	 * @ORM\Column(type="integer")
	 */
	protected $ownDetail;
	
	/**
	 * @ORM\Column(type="text")
	 */
	protected $twigList;
	
	/**
	 * @ORM\Column(type="text")
	 */
	protected $twigDetail;
	

  /**
   * Get id
   *
   * @return integer 
   */
  public function getId()
  {
    return $this->id;
  }

  /**
   * Set name
   *
   * @param string $name
   * @return Model
   */
  public function setName($name)
  {
    $this->name = $name;
  
    return $this;
  }

  /**
   * Get name
   *
   * @return string 
   */
  public function getName()
  {
    return $this->name;
  }

  /**
   * Set rank
   *
   * @param integer $rank
   * @return Model
   */
  public function setRank($rank)
  {
    $this->rank = $rank;
  
    return $this;
  }

  /**
   * Get rank
   *
   * @return integer 
   */
  public function getRank()
  {
    return $this->rank;
  }

  /**
   * Set defaultSortBy
   *
   * @param string $defaultSortBy
   * @return Model
   */
  public function setDefaultSortBy($defaultSortBy)
  {
    $this->defaultSortBy = $defaultSortBy;
  
    return $this;
  }

  /**
   * Get defaultSortBy
   *
   * @return string 
   */
  public function getDefaultSortBy()
  {
    return $this->defaultSortBy;
  }

  /**
   * Set idField
   *
   * @param string $idField
   * @return Model
   */
  public function setIdField($idField)
  {
    $this->idField = $idField;
  
    return $this;
  }

  /**
   * Get idField
   *
   * @return string 
   */
  public function getIdField()
  {
    return $this->idField;
  }

  /**
   * Set numPerPage
   *
   * @param integer $numPerPage
   * @return Model
   */
  public function setNumPerPage($numPerPage)
  {
    $this->numPerPage = $numPerPage;
  
    return $this;
  }

  /**
   * Get numPerPage
   *
   * @return integer 
   */
  public function getNumPerPage()
  {
    return $this->numPerPage;
  }

  /**
   * Set visible
   *
   * @param integer $visible
   * @return Model
   */
  public function setVisible($visible)
  {
    $this->visible = $visible;
  
    return $this;
  }

  /**
   * Get visible
   *
   * @return integer 
   */
  public function getVisible()
  {
    return $this->visible;
  }

  /**
   * Set resortable
   *
   * @param integer $resortable
   * @return Model
   */
  public function setResortable($resortable)
  {
    $this->resortable = $resortable;
  
    return $this;
  }

  /**
   * Get resortable
   *
   * @return integer 
   */
  public function getResortable()
  {
    return $this->resortable;
  }

  /**
   * Set columnsJson
   *
   * @param string $columnsJson
   * @return Model
   */
  public function setColumnsJson($columnsJson)
  {
    $this->columnsJson = $columnsJson;
  
    return $this;
  }

  /**
   * Get columnsJson
   *
   * @return string 
   */
  public function getColumnsJson()
  {
    return $this->columnsJson;
  }

  /**
   * Set type
   *
   * @param integer $type
   * @return Model
   */
  public function setType($type)
  {
    $this->type = $type;
  
    return $this;
  }

  /**
   * Get type
   *
   * @return integer 
   */
  public function getType()
  {
    return $this->type;
  }

  /**
   * Set permission
   *
   * @param integer $permission
   * @return Model
   */
  public function setPermission($permission)
  {
    $this->permission = $permission;
  
    return $this;
  }

  /**
   * Get permission
   *
   * @return integer 
   */
  public function getPermission()
  {
    return $this->permission;
  }

  /**
   * Set ownList
   *
   * @param integer $ownList
   * @return Model
   */
  public function setOwnList($ownList)
  {
    $this->ownList = $ownList;
  
    return $this;
  }

  /**
   * Get ownList
   *
   * @return integer 
   */
  public function getOwnList()
  {
    return $this->ownList;
  }

  /**
   * Set ownDetail
   *
   * @param integer $ownDetail
   * @return Model
   */
  public function setOwnDetail($ownDetail)
  {
    $this->ownDetail = $ownDetail;
  
    return $this;
  }

  /**
   * Get ownDetail
   *
   * @return integer 
   */
  public function getOwnDetail()
  {
    return $this->ownDetail;
  }

  /**
   * Set twigList
   *
   * @param string $twigList
   * @return Model
   */
  public function setTwigList($twigList)
  {
    $this->twigList = $twigList;
  
    return $this;
  }

  /**
   * Get twigList
   *
   * @return string 
   */
  public function getTwigList()
  {
    return $this->twigList;
  }

  /**
   * Set twigDetail
   *
   * @param string $twigDetail
   * @return Model
   */
  public function setTwigDetail($twigDetail)
  {
    $this->twigDetail = $twigDetail;
  
    return $this;
  }

  /**
   * Get twigDetail
   *
   * @return string 
   */
  public function getTwigDetail()
  {
    return $this->twigDetail;
  }
}